This invention relates to adders and more particularly to adders in which a split-add operation can be utilized to increase computational throughput.
Addition forms the basis of many processing operations including counting, subtraction, multiplication and filtering. A wide variety of adder circuits that add binary numbers provide an implementation with a trade-off between the speed of completing the addition operation and the amount of hardware, as measured by area required on an integrated circuit, to complete an addition operation. While three binary number representations are available, sign-magnitude, one""s complement, and two""s complement, computations are more efficient using the two""s complement number representation. Adders can be used to accomplish subtraction by generating the two""s complement of the subtrahend and adding the minuend. The two""s complement of the subtrahend can be generated internal to the adder by providing the subtrahend in one""s complement representation and adding one using the carry-in input to the adder.
A split adder is an adder that is capable of operating in a non-split mode on operands having a relatively large number of bits, and in split mode is capable of operating as more than one adder on operands having relatively fewer bits. Split adders are employed to take advantage of existing hardware where a tradeoff between precision and the number of adders can be made, and to gain additional computational throughput without requiring additional hardware. Split-adders in which the most significant bit portion of two operands are added in a first portion of an adder, and the least significant bit portions of two operands are added in a second portion of an adder are known. Known split-adders, however, can not accommodate more than two operands as inputs.
In accordance with the invention, an integrated circuit includes an adder having a first adder circuit for receiving a portion of the operands to be summed, along with corresponding carry-in inputs. The first adder circuit provides a sum output and carry-out outputs. A second adder circuit receives another portion of the operands to be summed, along with the corresponding carry-in inputs. Multiplexers between the first and second adder circuits determine whether the carry-in inputs to the second adder circuit are the same as the carry-in inputs to the first adder circuit or whether the carry-in inputs to the second adder circuit are independent.